GUI Designer – �� ��� �����

 

����

�� ������ GUI �����̳��� �� �۾��� �ϱ� ���� �ڵ带 ���� ���ʸ� �����մϴ�.  ����� �� �ʿ䰡 �ִ� 3���� ���������� �ֽ��ϴ�:

*   �� Ŭ������ ���� �����ڸ� �����մϴ�

*   �ʵ� ������Ҹ� ���Ͽ� ��� �׷�� �׼��� �����մϴ�

*   ���������� �ʵ�� ���� �����Ϳ� ���ε� �ϴ� ����/���� �޼ҵ带 �����մϴ�

*   ��Ÿ�� �ʱ�ȭ �ڵ带 �����մϴ�


����ȭ�� ����� ���� �ڹ��� UI ���α׷� �ۼ��� ���� �����ΰ� �˰� �ְ�, ����� ����� ����� GUI �����̳ʿ� �Բ� �����ϴ� ���� �߰��ϱ� ���� �ʿ�� �ϴ� ���ʸ� ���Խ�ų ���̶�� �����մϴ�.  ��Ÿ���� ���� ���� �����ϴ� ���μ����ϴ� ���� ������ Ŭ������ ���� �ֽ��ϴ�. �׷��� ������ ����� �������̽� ����� �����ϴ� � Ŭ������ ���� �����մϴ�.

form class ���� GUI �����̳� ����  bound �� Ŭ������ �����մϴ�.


 

�� Ŭ������ ���� ������ ����


����� GUI �����̳� �� ������ ��ĥ ��, ����ġ���� ����� �Ʒ� ���� ���õ� ��ó�� Ŭ������ ���� ���� ���� �ʵ忡�� Ŭ������ ���� ���� �� ���� ��ҿ� ���ε��ؾ߸� �մϴ�:

���� �� Ŭ������ �ϳ��� �̹� ������ ������, �װ��� ���� ��� �����ǵ��� �ϱ� ���� �����ڸ� �ʿ��մϴ�.  ���� IDEA�� �̰��� �ϴ� ���� ���� ���ϸ�, Alt + Insert�� ������ Constructor�� �����մϴ�.  ���� �����ڿ��� �ʱ�ȭ�� ���� Ŭ�������� ����� � �ʵ带 ������, ���̾�α׿��� �׵��� �����Ͻʽÿ�. (�����ڸ� �����ϴ� �Ϳ� ���� �� ���� ������ �����ڵ� ���� �� ���ϴ�).


�� ���ϰ� �� Ŭ���� ������ ���� ���� �̸��� ���� ���� �ʿ����� �ʽ��ϴ����� �׵��� �׷��� ������ ����� ������ ���� �ʰ� �� ���Դϴ�. �׷��� �׵鿡�� ���� ���� �̸��� �ִ� ���� ���� �Ծ��� ������ ���Դϴ�.


 

��� �׷�� �׼� ����


Groups  

 

���� ����� �׷����μ� ����� �ʿ䰡 �ִ� �ɼ�(����)��ư�� ���� ���� ��Ҹ� ������, �����ڴ� �׷��� �����ؾ߸� �մϴ�.  �Ʒ� ���� �ڵ带 �츮�� ���� �� ������ �� ���� �ɼ� ��ư�� ���� ��ư �׷��� �����ϱ� ���� ǥ���մϴ�:

Actions  


��ư�� ���� ��� �׼��� �����ϴ� ���� ��Ҹ� ���� ����� action listeners �� action events �� �� �ʿ䰡 �ֽ��ϴ�.  ����� �����ڿ��� �Ǵ� ����� �����ڸ� �θ��� ���� �޼ҵ�� �̰��� �� �� �ֽ��ϴ�.  �ܼ��� ���� ���̾�α��� �츮 ���� �����ڿ��� ���� ��ư�� ���� ���� �����ڿ� ���� �̺�Ʈ�� �����մϴ�:

�����Ϳ� �ʵ� �ٿ�带 ����  ����/���� �޼ҵ带 ����


���� ����� ���ϴ� UI Ŭ�������� ����� �ʵ带 JavaBean Ŭ�������� �Ϻ� �����Ϳ� ���ε��ϰ� �ϸ�, IDEA�� ����� �̰��� ���� �׸��� ��Ȯ�ϰ� �ϴ� ���� ���� Ư����Data Binding Wizard �� �����մϴ�.  GUI �����̳��� Ư¡, ����� UI Ŭ������ �ٿ�� �ϴ�GUI ���� ���� ��ҿ��� ���ε�� UI Ŭ�������� �ʵ忡 ���� getData�� setData �޼ҵ带 �����ϱ� ���� �� �����縦 �̿��� �� �ֽ��ϴ�.  ����� ���� bean Ŭ�������� ������ ���ε��� ������ �� �ְų�, �����縦 �̿��Ͽ� ���ο� bean Ŭ������ ������ �� �ֽ��ϴ�.

���� ���, UI Ŭ�������� �ʵ忡 ���ε�� GUI �� ������ ����� �Ϻ� JTextField ���� ��Ҹ� ������ ��� �����Ͻʽÿ�. �׷��� ����� JavaBean Ŭ�������� �Ϻ� �����Ϳ� ���ε�� �׵��� �ؽ�Ʈ �Ӽ��� ���� ���մϴ�.  ���� ����� �ʵ忡 ���� getData�� setData �޼ҵ带 �����ϸ鼭, ��Ȯ�� bean Ŭ������ ���� ���ĵ� �̸��� �����ϵ��� �����ϰ�, �ʿ� ��Ű���� ����Ʈ�ϸ鼭 �� �� �ְ�, UI Ŭ������ ������ �� �־����ϴ�.  �׷���, �����縦 ���ε��ϰ� �ִ� �����ʹ� ���ε�� UI Ŭ������ �־�� �޼ҵ带 ���ε��ϰ� �ִ� �����͸� �����ϴ� ���� �ð��� ����� �����մϴ�, ���� ����� ���ο� bean Ŭ������ �ʿ��ϴٸ� �����ϴ� ���� �����ϰ� �մϴ�.

 

������ �Ͻ��� �� ó��, GUI ���� Ŭ������ ���ε�� ���ӿ� Ʋ�������ϴ�. �׸��� GUI ���� ��Ҵ� Data Binding Wizard�� �����ϱ� ���� Ŭ�������� � �ʵ忡 ���ε��� ���ӿ� Ʋ�������ϴ�.



Using the Data Binding Wizard: 


����� ����/���� �޼ҵ带 �����ϰ� �;��ϴ� ���� ��Ҹ� Ȯ���� ��, ������ �Ͻʽÿ�:

1.  GUI �����̳��� ������ �ð� ���� ��Ҹ� �����Ͻʽÿ�.

2.  GUI �����̳� ���� ������, ������ ���ε� �������� �����ϱ� ���� �������� Ŭ���Ͻʽÿ�:

3.  ù ��° ȭ�� ������, ���ο� Bean �Ǵ� ������ Bean�� �����͸� ���ε� �� ������ �����ϰ�, ����� ������ �ɼǿ� ���� Ŭ������ �����Ͻʽÿ�.

4.  ���� ȭ���� ������ ���ε��� �����ϰ� ���� UI Ŭ�������� �ʵ忡 ���ε�Ǿ��� �� ���� ��Ҹ� ����Ʈ�մϴ�. �����ʿ��� �� ���� ��� �̸��� ����� ���� ��Ҹ� ���� ������ �ҽ�/Ÿ�����μ� ���ϴ� bean �Ӽ��� ������ �� �ִ� ���� �ʵ��Դϴ�.

5.  ������ ���ε� ������ �Ϸ��ϱ� ���ؼ� Finish�� �����ϴ�.


����� �����縦 ���� ��, ����� �����翡�Լ� �����ߴ� �ɼǿ� ���� ���� getData�� setData �޼ҵ�� ���� Ŭ������ �����ϴ�.  ����Ʈ ������Ʈ��Ʈ�� Ŭ�������� �ʿ��� ��ŭ �����˴ϴ�.  ���� ����� �ڵ带 ����, ����� �Ǽ��ߴٴ� ���� �߰��ϸ�, ����� �� ������ ���·� �ڵ带 ������ ���� Undo�� ����� �� �ֽ��ϴ�.


�ϴ� ���� ��Ұ� �����Ϳ� ���ε� �Ǿ��ٸ�, ����� �����縦 �ٽ� ������ ���ε� �����縦 ȣ���� �� �ֽ��ϴ�. �� ��쿡��, �����  ������ ���ε��� �����ϰų� �ٸ� bean�� ���ε��ϴ� �ɼ��� �ο��޽��ϴ�.  ���� ����� ������ �ɼ��� �����ϸ�, ������� ����� ������ ���ε��� ���� �����ϰų�, bean Ŭ������ �����ϴ� ���� �����ϰ� �մϴ�.  UI Ŭ����(����Ʈ�� �����ϴ� ��)�� ���� �ڵ�� ����� ���ð� ��翡 ���� ����˴ϴ�.


��Ÿ�� �ʱ�ȭ �ڵ� ����


����� �ڵ忡�� ����� �� Ŭ������ �����ϴ� �ڵ带 ���� ���� �ʿ�� �մϴ�.  ���� Ŭ������ ���� ���� Ŭ������ �ִ� �츮 ��������, �츮�� ���� ���� ��Ÿ�� �������� �����߽��ϴ�.  �װ��� �ϴ� ���� �޼ҵ�� �������� ��� ó���� ó���մϴ�.  �츮�� ���� ���� ���� ���� �ڸ��� ���α׷����μ� �����ϰ�, �׷��� �� Ŭ������ ��Ÿ�� �������� ������ ��⸦ ó���ϴ�main() �޼ҵ带 �����ϴ�:


�Ϻ� ���ø����̼��� �κ��� ��ȭ ���ڸ� ����, �� GUI �� ��Ÿ�� �ڵ尡 ���ø����̼��� ���� Ŭ������ ���� ���� ���� ���Դϴ�. Ŭ������ ���� ����� �ʿ䰡 �����̴��� ���� ����� �װͿ� �θ� �� �Դϴ�.